package com.bbz.core.Singleton;

/**
 * 双检查锁机制 实现单例模式
 */
public class SingletonDemo1 {
    private volatile static MyObject myObject;
    public static MyObject getInstance(){
        try{
            if(myObject==null){
                //在实例对象前，可以做其他操作。
                Thread.sleep(3000);
                synchronized (MyObject.class){
                    if(myObject==null){
                        myObject=new MyObject();
                    }
                }
            }
        }catch (InterruptedException e){
            e.printStackTrace();
        }
        return myObject;
    }
}
